package com.sdy.resdir.biz.model;

import java.util.Date;
import java.util.List;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.sdy.common.model.BaseModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.sdy.common.utils.DateUtil;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 资源详情API
 * </p>
 *
 * @author hyh
 * @since 2019-10-21
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@ApiModel(value = "RdResDetailsApi对象", description = "资源详情API" )
public class RdResDetailsApi extends BaseModel {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @ApiModelProperty(value = "主键" )
    @TableId
    private Integer id;

    /**
     * 接口名称
     */
    @ApiModelProperty(value = "接口名称" )
    private String interfaceName;

    /**
     * 接口类型
     */
    @ApiModelProperty(value = "接口类型" )
    private String interfaceType;

    /**
     * 接口类型
     */
    @ApiModelProperty(value = "资源id" )
    private Integer resDirId;

    /**
     * 接口状态(1.异常  2.正常）
     */
    @ApiModelProperty(value = "接口状态(1.异常  2.正常）" )
    private Integer interfaceState;

    /**
     * 请求示例
     */
    @ApiModelProperty(value = "请求示例" )
    private String requestDemo;

    /**
     * 返回示例
     */
    @ApiModelProperty(value = "返回示例" )
    private String returnDemo;

    /**
     *  请求方式（1.POST  2.GET）
     */
    @ApiModelProperty(value = " 请求方式（1.GET  2.POST   3.Webservice 4.H5地图）" )
    private Integer requestType;

    /**
     *  支持格式
     */
    @ApiModelProperty(value = " 支持格式" )
    private String supportFormat;

    /**
     *  接口描述
     */
    @ApiModelProperty(value = " 接口描述" )
    private String apiDesc;

    /**
     *  接口地址
     */
    @ApiModelProperty(value = "接口地址" )
    private String apiAddress;

    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间" )
    @JsonFormat(pattern = DateUtil.DATETIME_FORMAT)
    private Date modifyTime;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间" )
    @JsonFormat(pattern = DateUtil.DATETIME_FORMAT)
    private Date createTime;

    @TableField(exist = false)
    @ApiModelProperty(value = "请求参数信息" )
    private List<RdParameterInformation> requestParamInfo;

    @TableField(exist = false)
    @ApiModelProperty(value = "返回参数信息" )
    private List<RdParameterInformation> returnParamInfo;

}
